package com.physics.mps.module.ansys.vo;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * ansys前处理对象
 * @author mcsoft
 * @since 2023/11/1
 */
@Data
public class SpaceClaimVo {
    /**
     * stp模型文件路径
     */
    String stpPath;

    /**
     * stp模型文件名
     */
    String stpName;

    /**
     * 经过前处理后的模型文件路径
     */
    String scdocPath;

    /**
     * 添加ansys中部件名与前端传入部件名，并一一对应
     */
    String txtPath;
    /**
     * 坐标集合
     */
    private List<double[]> coordinates;

    /**
     * 与坐标对应的部件名
     */
    private List<String> partNames;

    /**
     * 共享拓扑中的最大公差
     */
    private String tolerance;

    public SpaceClaimVo() {
        this.coordinates = new ArrayList<>();
        this.partNames = new ArrayList<>();
    }

    /**
     * 验证前处理对象是否合法
     * @return 如果坐标集合不为空且部件数量与坐标集合相等，则为合法
     */
    public boolean isLegal() {
        int len = coordinates.size();
        return len != 0 && partNames.size() == len;
    }
}
